package com.tiancheng.trade.settlement.service.settlement;

import com.tiancheng.trade.commom.core.data.PageInfo;
import com.tiancheng.trade.settlement.exception.BusinessException;
import com.tiancheng.trade.settlement.model.settlement.PaymentBill;
import com.tiancheng.trade.settlement.vo.settlement.admin.*;
import com.tiancheng.trade.settlement.vo.settlement.api.FlowSubOrderVO;
import com.tiancheng.trade.settlement.vo.settlement.api.PaymentBillVO;

import java.util.List;


/**
 * @Auther: liudong
 * @Date: 2024/3/31 10:32
 * @Param ${tags}
 * @Description:
 */
public interface IPaymentBillService {
    /**
     * 支付记账
     *
     * @param accountVO
     * @return
     */
    int recordBill(PaymentBillVO accountVO);

    /**
     * 根据flowId获取流水记账表
     *
     * @param flowId
     * @return
     */
    PaymentBill getPaymentBill(String flowId);

    /**
     * 查询旧系统的流水数据列表
     *
     * @param vo
     * @return
     */
    PageInfo<PaymentOrderBankDetailVO> oldSystemDataListQuery(PaymentOldSystemQueryVO vo);

    int audit(List<PaymentBillHandleVO> list) throws BusinessException;

    int diffHandle(List<PaymentDiffHandleVO> list);

    List<FlowSubOrderVO> querySubOrderByFlowId(String flowId);

    int oldSystemDataHandle(PaymentOldSystemVO vo);


}
